{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "${{ \\left\\Vert {X} \\right\\Vert }\\mathop{{}}\\nolimits_{{0}}}$  L0范数:表示向量x中非零元素的个数  \n",
    "${{ \\left\\Vert {X} \\right\\Vert }\\mathop{{}}\\nolimits_{{1}}}$  L1范数（列模）:表示向量x中非零元素的绝对值之和  \n",
    "${{ \\left\\Vert {X} \\right\\Vert }\\mathop{{}}\\nolimits_{{2}}}$  L2范数（谱模）:表示向量元素的平方和再开平方求$A^{T}A$的特征值，找出其中的最大特征值，求其平方根,相当于$max(sqrt(eig(A^{T}A)))$，也叫谱范数  \n",
    "${{ \\left\\Vert {X} \\right\\Vert }\\mathop{{}}\\nolimits_{{F}}}$  F范数:是把一个矩阵中每个元素的平方求和后开根号(用于表示矩阵量级)   \n",
    "${{ \\left\\Vert {X} \\right\\Vert }\\mathop{{}}\\nolimits_{{\\infty}}}$  无穷范数（行模）:度量向量元素的最大值   \n",
    "${{ \\left\\Vert {X} \\right\\Vert }\\mathop{{}}\\nolimits_{{*}}}$  核范数Nuclear Norm:矩阵奇异值的和(用于表示低秩矩阵)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 原理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "难点主要有两个：  \n",
    "1.找到$C$  \n",
    "2.谱聚类  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 谱聚类\n",
    "[机器学习之谱聚类算法](https://blog.csdn.net/liuy9803/article/details/80832249)  \n",
    "[谱聚类（Spectral Clustering）算法介绍](https://blog.csdn.net/qq_24519677/article/details/82291867)  \n",
    "[Spectral Clustering](https://towardsdatascience.com/spectral-clustering-aba2640c0d5b)  \n",
    "\n",
    "&emsp;&emsp;谱聚类（spectral clustering）是一种基于图论的聚类算法，第一步是构图：将数据集中的每个对象看做空间中的点V，将这些点之用边E连接起来，距离较远的两个点之间的边权重值较低、距离较近的两个点之间的边权重值较高，这样就构成了一个基于相似度的无向权重图G(V,E)。第二步是切图：按照一定的切边规则将图切分为不同的子图，规则是**使子图内的边权重和尽可能大，不同子图间的边权重和尽可能小，从而达到聚类目的。**(类似社区发现)\n",
    "\n",
    "&emsp;&emsp;与传统的聚类方法相比，谱聚类可以对任意形状的数据集进行聚类，计算量较小、实现简单、聚类效果好并能收敛于全局最优解。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 谱聚类构图\n",
    "\n",
    "#### 无向权重图$G(V,E)$  \n",
    "<img src=\"./resource/tu.png\" alt=\"\">\n",
    "$V$为数据集中所有点$(v_{1},v_{2},...,v_{m})$，定义任意两点$v_{i}$、$v_{j}$之间的权重为$w_{ij}$，由无向图的性质可知$w_{ij}$=$w_{ji}$。  \n",
    "对于有连接边的两点$w_{ij}>0$；对于没有连接边的点$w_{ij}=0$。\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 相似矩阵$W$\n",
    "\n",
    "用所有点之间的权重值构建图的$m*m$相似矩阵$W$，第$i$行第$j$列对应权重$w_{ij}$。  \n",
    "\n",
    "$W = \\begin{pmatrix}\n",
    "    w_{11} & w_{12} & \\dots & w_{1m} \\\\\n",
    "    w_{21} & w_{22} & \\dots & w_{2m} \\\\\n",
    "    \\vdots & \\vdots & \\ddots & \\vdots \\\\\n",
    "    w_{m1} & w_{m2} & \\dots & w_{mm} \\\\\n",
    "\\end{pmatrix}_{m \\times m}\\qquad$  \n",
    "  \n",
    "，对角线元素$w_{11}=w_{22}=\\dots=w_{mm}=0$\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 228,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-25T03:50:27.269449Z",
     "start_time": "2019-09-25T03:50:27.256452Z"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "# Adjacency Matrix\n",
    "A = np.array([\n",
    "  [0, 1, 1, 0, 0, 0, 0, 0, 1, 1],\n",
    "  [1, 0, 1, 0, 0, 0, 0, 0, 0, 0],\n",
    "  [1, 1, 0, 0, 0, 0, 0, 0, 0, 0],\n",
    "  [0, 0, 0, 0, 1, 1, 0, 0, 0, 0],\n",
    "  [0, 0, 0, 1, 0, 1, 0, 0, 0, 0],\n",
    "  [0, 0, 0, 1, 1, 0, 1, 1, 0, 0],\n",
    "  [0, 0, 0, 0, 0, 1, 0, 1, 0, 0],\n",
    "  [0, 0, 0, 0, 0, 1, 1, 0, 0, 0],\n",
    "  [1, 0, 0, 0, 0, 0, 0, 0, 0, 1],\n",
    "  [1, 0, 0, 0, 0, 0, 0, 0, 1, 0]])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 度矩阵$D$ (Degree Matrix)\n",
    "\n",
    "无向权重图中任意一点$v_{i}$的度$d_{i}$定义为它和其它点的边的权重之和  \n",
    "$d_{i}=\\sum_{j=1}^{m}{w_{ij}}$  \n",
    "利用每个点度的定义，得到一个$m*m$的度矩阵$D$，这是一个对角矩阵，主对角线元素为$d_{i}$，其他位置的元素全为零。\n",
    "\n",
    "$D = \\begin{pmatrix}\n",
    "    d_{1} &  &  &  \\\\\n",
    "     & d_{2} &  &  \\\\\n",
    "     &  & \\ddots &  \\\\\n",
    "     &  &  & d_{m} \\\\\n",
    "\\end{pmatrix}_{m \\times m}\\qquad$  \n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 229,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-25T03:50:28.701589Z",
     "start_time": "2019-09-25T03:50:28.694637Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[4, 0, 0, ..., 0, 0, 0],\n",
       "       [0, 2, 0, ..., 0, 0, 0],\n",
       "       [0, 0, 2, ..., 0, 0, 0],\n",
       "       ...,\n",
       "       [0, 0, 0, ..., 2, 0, 0],\n",
       "       [0, 0, 0, ..., 0, 2, 0],\n",
       "       [0, 0, 0, ..., 0, 0, 2]])"
      ]
     },
     "execution_count": 229,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "D = np.diag(A.sum(axis=1))\n",
    "D"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 拉普拉斯矩阵$L$\n",
    "\n",
    "##### 未标准化的拉普拉斯矩阵\n",
    "定义$L=D-W$，性质：\n",
    "\n",
    "1. $L$是对称的、半正定矩阵；\n",
    "\n",
    "+ 特征值中0出现的次数就是图连通区域的个数；\n",
    "\n",
    "+ 最小特征值是0，因为L矩阵每一行的和均为0；\n",
    "\n",
    "+ 最小非零特征值是图的代数**连通度**；\n",
    "\n",
    "*点连通度的定义：一个具有$N$个点的图G中，在去掉任意$k-1$个顶点后$(1\\leqslant k\\leqslant N)$,所得的子图仍然连通，去掉K个顶点后不连通，则称$G$是$K$连通图，$K$称作图$G$的连通度，记作$K（G）$。\n",
    "\n",
    "5. 对于任意向量$f=(f_{1},f_{2},...,f_{m})^T$，有：\n",
    "\n",
    "$$f^TLf = \\frac{1}{2}\\sum_{i,j = 1}^m(f_i-f_j)^2 $$\n",
    "\n",
    "##### 标准化的拉普拉斯矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 230,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-25T03:50:29.720957Z",
     "start_time": "2019-09-25T03:50:29.712975Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 4, -1, -1, ...,  0, -1, -1],\n",
       "       [-1,  2, -1, ...,  0,  0,  0],\n",
       "       [-1, -1,  2, ...,  0,  0,  0],\n",
       "       ...,\n",
       "       [ 0,  0,  0, ...,  2,  0,  0],\n",
       "       [-1,  0,  0, ...,  0,  2, -1],\n",
       "       [-1,  0,  0, ...,  0, -1,  2]])"
      ]
     },
     "execution_count": 230,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "L = D-A\n",
    "L"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 谱聚类的原理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下图右边为拉普拉斯矩阵的特征值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img alt=\"\" class=\"qu qv gg n o gf ab gd\" width=\"864\" height=\"360\" role=\"presentation\" src=\"./resource/1_p2vrLlFxdJgGZxCGO5WBmA.gif\">\n",
    "当图完全不连通的时候，所有10个特征值都为0。往图中增加边的时候，特征值增加了。而且，特征值为0的数量代表了连通区域的数量。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img alt=\"\" class=\"qu qv gg n o gf ab gd\" width=\"864\" height=\"360\" role=\"presentation\" src=\"./resource/1_pemb5XDfUCnWQMTpAHmpfA.png\">\n",
    "最终将所有连起来的时候，特征值有1个为0，代表有一个连通区域  \n",
    "\n",
    "**第一个非0的特征值叫spectral gap，代表了图的边密度**  \n",
    "\n",
    "第二个特征值为Fiedler value，所对应的特征向量为Fiedler vector，Fiedler value估计了把图切成两块的需要的最小切分数量。Fiedler vector中的每个值表示了这个切分中，节点属于那一边。上图中，前四个特征值都很小，说明我们如果把图切分为4块会比较容易。这四个特征值的特征向量也告诉我们应该如何切分。  \n",
    "  \n",
    "> 一般我们找到特征值之间第一个比较大的gap，作为判断分块数量的依据  \n",
    "  \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 231,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-25T03:50:33.045230Z",
     "start_time": "2019-09-25T03:50:32.949452Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "D = np.diag(A.sum(axis=1))\n",
    "L = D - A\n",
    "#计算特征值和特征向量\n",
    "vals, vecs = np.linalg.eig(L)\n",
    "#重新排序\n",
    "vecs = vecs[:,np.argsort(vals)]\n",
    "vals = vals[np.argsort(vals)]\n",
    "\n",
    "plt.plot(range(len(vals)),vals)\n",
    "\n",
    "import pandas as pd\n",
    "a = pd.DataFrame(vals)\n",
    "eigngap = a-a.shift().fillna(0)\n",
    "plt.plot(range(len(eigngap)),eigngap)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 197,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-25T03:37:12.676961Z",
     "start_time": "2019-09-25T03:37:12.671939Z"
    }
   },
   "outputs": [],
   "source": [
    "#设置一下np的输出格式\n",
    "np.set_printoptions(threshold=10,precision= 4,suppress=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-17T09:22:25.334000Z",
     "start_time": "2019-09-17T09:22:25.325057Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([ 5.,  0.,  1.,  3.,  5., -0.,  1.,  3.,  3.,  3.]),\n",
       " array([[ 0.8944, -0.4472,  0.    , ..., -0.    ,  0.    , -0.    ],\n",
       "        [-0.2236, -0.4472,  0.5   , ..., -0.2759,  0.1376, -0.09  ],\n",
       "        [-0.2236, -0.4472,  0.5   , ...,  0.2759, -0.1376,  0.09  ],\n",
       "        ...,\n",
       "        [ 0.    ,  0.    ,  0.    , ..., -0.    ,  0.6276, -0.1544],\n",
       "        [-0.2236, -0.4472, -0.5   , ..., -0.3203, -0.2515, -0.5469],\n",
       "        [-0.2236, -0.4472, -0.5   , ...,  0.3203,  0.2515,  0.5469]]))"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#计算特征值和特征向量\n",
    "vals, vecs = np.linalg.eig(L)\n",
    "#特征值#特征向量\n",
    "vals, vecs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-17T09:22:27.082355Z",
     "start_time": "2019-09-17T09:22:27.075342Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([-0.,  0.,  1.,  1.,  3.,  3.,  3.,  3.,  5.,  5.]),\n",
       " array([[-0.    , -0.4472, -0.    , ..., -0.    ,  0.    ,  0.8944],\n",
       "        [ 0.    , -0.4472,  0.0017, ..., -0.2759,  0.    , -0.2236],\n",
       "        [ 0.    , -0.4472,  0.0017, ...,  0.2759, -0.    , -0.2236],\n",
       "        ...,\n",
       "        [-0.4472,  0.    ,  0.5   , ..., -0.    , -0.2236,  0.    ],\n",
       "        [ 0.    , -0.4472, -0.0017, ..., -0.3203, -0.    , -0.2236],\n",
       "        [-0.    , -0.4472, -0.0017, ...,  0.3203,  0.    , -0.2236]]))"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#重新排序\n",
    "vecs = vecs[:,np.argsort(vals)]\n",
    "vals = vals[np.argsort(vals)]\n",
    "vals,vecs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-17T09:22:31.968261Z",
     "start_time": "2019-09-17T09:22:31.958285Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>-0.447214</td>\n",
       "      <td>-6.938785e-33</td>\n",
       "      <td>4.820463e-32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>-0.447214</td>\n",
       "      <td>1.657411e-03</td>\n",
       "      <td>5.000000e-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>-0.447214</td>\n",
       "      <td>1.657411e-03</td>\n",
       "      <td>5.000000e-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-4.999973e-01</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-4.999973e-01</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-1.820907e-16</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4.999973e-01</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4.999973e-01</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>-0.447214</td>\n",
       "      <td>-1.657411e-03</td>\n",
       "      <td>-5.000000e-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>-0.447214</td>\n",
       "      <td>-1.657411e-03</td>\n",
       "      <td>-5.000000e-01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          0             1             2\n",
       "0 -0.447214 -6.938785e-33  4.820463e-32\n",
       "1 -0.447214  1.657411e-03  5.000000e-01\n",
       "2 -0.447214  1.657411e-03  5.000000e-01\n",
       "3  0.000000 -4.999973e-01  0.000000e+00\n",
       "4  0.000000 -4.999973e-01  0.000000e+00\n",
       "5  0.000000 -1.820907e-16  0.000000e+00\n",
       "6  0.000000  4.999973e-01  0.000000e+00\n",
       "7  0.000000  4.999973e-01  0.000000e+00\n",
       "8 -0.447214 -1.657411e-03 -5.000000e-01\n",
       "9 -0.447214 -1.657411e-03 -5.000000e-01"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame(vecs[:,1:4])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-17T09:22:42.502096Z",
     "start_time": "2019-09-17T09:22:42.474200Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Clusters: [0 0 0 1 1 1 3 3 2 2]\n"
     ]
    }
   ],
   "source": [
    "#用kmeans对第2到第4个特征向量聚成4类\n",
    "from sklearn.cluster import KMeans\n",
    "kmeans = KMeans(n_clusters=4)\n",
    "kmeans.fit(vecs[:,1:4])\n",
    "colors = kmeans.labels_\n",
    "print(\"Clusters:\", colors)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "kmeans有随机性，聚类结果每次不一样\n",
    "<img alt=\"\" class=\"qu qv gg n o gf ab gd\" width=\"500\" height=\"360\" role=\"presentation\" src=\"./resource/1_omUQ6aCQ88uK2rapwOFgvw.png\">"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对任意数据集进行谱聚类\n",
    "#### 读取数据\n",
    "以如下数据集为例\n",
    "<img alt=\"\" class=\"qu qv gg n o gf ab gd\" width=\"500\" height=\"360\" role=\"presentation\" src=\"./resource/1_3vBzUSU1jFuSumrhyyhFgQ.png\">\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-18T04:52:57.327380Z",
     "start_time": "2019-09-18T04:52:57.319436Z"
    }
   },
   "outputs": [],
   "source": [
    "from sklearn.datasets import make_circles\n",
    "import numpy as np\n",
    "\n",
    "# create the data\n",
    "X, labels = make_circles(n_samples=500, noise=0.1, factor=.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-18T04:52:58.018531Z",
     "start_time": "2019-09-18T04:52:57.907861Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#数据自带标签\n",
    "#绘制数据\n",
    "import matplotlib.pyplot as plt\n",
    "plt.scatter(X[:,0],X[:,1],c = labels)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-18T04:52:58.868293Z",
     "start_time": "2019-09-18T04:52:58.545157Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#用kmeans聚类\n",
    "from sklearn.cluster import KMeans\n",
    "kmeans = KMeans(n_clusters=2)\n",
    "kmeans.fit(X[:,:])\n",
    "kmeans_labels = kmeans.labels_\n",
    "\n",
    "#绘制数据\n",
    "import matplotlib.pyplot as plt\n",
    "plt.scatter(X[:,0],X[:,1],c = kmeans_labels)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 对数据生成图\n",
    "##### K-近邻图\n",
    "如果我们想要应用谱聚类，首先要将数据集变为图。  \n",
    "有几种方式可以将数据变为图，最容易的是**K-近邻图**。K-近邻图将每个数据点视为图中的一个节点。然后每一个点的k个最近的邻居产生边。一般来说，这个算法对k的选择不会很敏感。5或者10这样的小数值就可以效果很好。  \n",
    "\n",
    "我们考虑上面的数据，如果以5个近邻来生成图，这样外圈的数值的5个近邻都会在外圈，内圈也是在内圈，这两个圈也不会连通起来，所以数据自然就会被分割成两块。  \n",
    "好的，接下来看代码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-18T04:53:00.932798Z",
     "start_time": "2019-09-18T04:53:00.919832Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0., 0., 0., ..., 0., 0., 0.],\n",
       "       [0., 0., 0., ..., 0., 0., 0.],\n",
       "       [0., 0., 0., ..., 0., 0., 0.],\n",
       "       ...,\n",
       "       [0., 0., 0., ..., 0., 0., 0.],\n",
       "       [0., 0., 0., ..., 0., 0., 0.],\n",
       "       [0., 0., 0., ..., 0., 0., 0.]])"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#sklearn.neighbors.kneighbors_graph直接生成k近邻\n",
    "from sklearn.neighbors import kneighbors_graph\n",
    "A = kneighbors_graph(X, n_neighbors=5).toarray()\n",
    "A"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-18T04:53:26.625072Z",
     "start_time": "2019-09-18T04:53:26.345853Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\utils\\validation.py:433: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  array = np.array(array, dtype=dtype, order=order, copy=copy)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "D = np.diag(A.sum(axis=1))\n",
    "L = D - A\n",
    "#计算特征值和特征向量\n",
    "vals, vecs = np.linalg.eig(L)\n",
    "#重新排序\n",
    "vecs = vecs[:,np.argsort(vals)]\n",
    "vals = vals[np.argsort(vals)]\n",
    "n = 2\n",
    "#用kmeans对第2到第4个特征向量聚成4类\n",
    "from sklearn.cluster import KMeans\n",
    "kmeans = KMeans(n_clusters=n)\n",
    "kmeans.fit(vecs[:,:n])\n",
    "spectral_labels = kmeans.labels_\n",
    "\n",
    "#绘制数据\n",
    "import matplotlib.pyplot as plt\n",
    "plt.scatter(X[:,0],X[:,1],c = spectral_labels)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 其他生成图的方法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "K-近邻图虽然是个好方法，但是它的前提是，距离近的点必须属于同一个类簇。而对有些数据来说却不是这样。更具有普遍性的方法是建立一个相似度矩阵（affinity matrix），它和邻接矩阵相似，如果两个数据点完全没有共性，则相似度为0，如果完全相同，则相似度为1。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-17T06:42:30.839280Z",
     "start_time": "2019-09-17T06:42:30.831265Z"
    },
    "code_folding": []
   },
   "source": [
    "### 谱聚类算法总结\n",
    "\n",
    "谱聚类是对数据拉普拉斯矩阵的特征向量进行聚类的算法，其本质是将聚类问题转换为图的最优化分问题，是一种点对聚类算法。常用的相似矩阵生成方法是基于k近邻或高斯核的全连接方式，常用的切图方式是Ncut，最后一步的传统聚类常用K-means。\n",
    "\n",
    "#### 谱聚类的构建过程主要步骤：\n",
    "\n",
    "1. 构建表示对象相似度的矩阵$W$，$W=\\sum_{ij}{{w_{ij}}},i,j=1,2,...,m$；\n",
    "+ 构建度矩阵$D$（对角矩阵）；\n",
    "+ 计算拉普拉斯矩阵$L$，$L=D-W$，对L进行标准化$D^{-1/2}LD^{-1/2}$；\n",
    "+ 计算前k个最小特征值的特征向量；\n",
    "+ 将$k$个特征向量组成$m*k$维的矩阵，按行进行标准化得到矩阵F；\n",
    "+ 对矩阵F中的每一行作为一个$k$维样本，共$m$个样本，用传统方法进行聚类得出最终结果。\n",
    "\n",
    "#### 谱聚类的特点\n",
    "\n",
    "1. 处理稀疏数据的聚类很有效；\n",
    "* 由于使用降维的方法，处理高维数据时复杂度比传统聚类算法好；\n",
    "* 聚类效果依赖于相似矩阵，不同的相似矩阵得到的最终聚类效果可能很不相同；\n",
    "* 最小特征值k的数目不容易给定；\n",
    "* 文档聚类中和模糊聚类的方法结合的问题；\n",
    "* 计算大规模数据集矩阵的时间、空间效率较差。\n",
    "\n",
    "#### 谱聚类算法的优缺点\n",
    "##### 优点\n",
    "1. 当聚类的类别个数较小的时候，谱聚类的效果会很好，但是当聚类的类别个数较大的时候，则不建议使用谱聚类；\n",
    "\n",
    "+ 谱聚类算法使用了降维的技术，所以更加适用于高维数据的聚类；\n",
    "\n",
    "+ 谱聚类只需要数据之间的相似度矩阵，因此对于处理稀疏数据的聚类很有效。这点传统聚类算法（比如K-Means）很难做到\n",
    "\n",
    "+ 谱聚类算法建立在谱图理论基础上，与传统的聚类算法相比，它具有能在任意形状的样本空间上聚类且收敛于全局最优解\n",
    "\n",
    "##### 缺点\n",
    "1. 谱聚类对相似度图的改变和聚类参数的选择非常的敏感；\n",
    "\n",
    "+ 谱聚类适用于均衡分类问题，即各簇之间点的个数相差不大，对于簇之间点个数相差悬殊的聚类问题，谱聚类则不适用；\n",
    "\n",
    "\n",
    "#### 各个聚类算法比较\n",
    "\n",
    "\n",
    "<table cellspacing=\"0\" border=\"1\"><tbody><tr><td valign=\"top\"><p align=\"justify\">**算法**</p></td><td valign=\"top\"><p align=\"justify\">**效率**</p></td><td valign=\"top\"><p align=\"justify\">**聚类形状**</p></td><td valign=\"top\"><p align=\"justify\">**异常数据的抗干扰性**</p></td><td valign=\"top\"><p align=\"justify\">**高维性**</p></td></tr><tr><td valign=\"top\"><p align=\"justify\">K-means</p></td><td valign=\"top\"><p align=\"justify\">一般</p></td><td valign=\"top\"><p align=\"justify\">凸形</p></td><td valign=\"top\"><p align=\"justify\">较低</p></td><td valign=\"top\"><p align=\"justify\">较低</p></td></tr><tr><td valign=\"top\"><p align=\"justify\">BIRCH</p></td><td valign=\"top\"><p align=\"justify\">很高</p></td><td valign=\"top\"><p align=\"justify\">凸形</p></td><td valign=\"top\"><p align=\"justify\">较低</p></td><td valign=\"top\"><p align=\"justify\">较低</p></td></tr><tr><td valign=\"top\"><p align=\"justify\">CURE</p></td><td valign=\"top\"><p align=\"justify\">较高</p></td><td valign=\"top\"><p align=\"justify\">任意形状</p></td><td valign=\"top\"><p align=\"justify\">很高</p></td><td valign=\"top\"><p align=\"justify\">一般</p></td></tr><tr><td valign=\"top\"><p align=\"justify\">DBSCAN</p></td><td valign=\"top\"><p align=\"justify\">一般</p></td><td valign=\"top\"><p align=\"justify\">任意形状</p></td><td valign=\"top\"><p align=\"justify\">较低</p></td><td valign=\"top\"><p align=\"justify\">较高</p></td></tr><tr><td valign=\"top\"><p align=\"justify\">Spectral</p></td><td valign=\"top\"><p align=\"justify\">较高</p></td><td valign=\"top\"><p align=\"justify\">任意形状</p></td><td valign=\"top\"><p align=\"justify\">不敏感</p></td><td valign=\"top\"><p align=\"justify\">较高</p></td></tr></tbody></table>\n",
    "\n",
    " "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "240px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
